let type = "test";
let BASE_URL = "";


if (type == "test") {
	BASE_URL = 'https://api.zhanfang.comdns.cn/uniapp';
}

if (type == "pro") {
	BASE_URL = 'https://api.zhanfang.comdns.cn/uniapp';
}

function randomString(len) {
	len = len || 32;
	const $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
	const maxPos = $chars.length;
	let pwd = '';
	let i;
	for (i = 0; i < len; i++) {
		pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
	}
	return pwd;
}

function request(url, params, method = "POST", header = {}) {
	return new Promise((resolve, reject) => {

		const token = uni.getStorageSync("token");
		let key = "Authorization";
		let value = token;
		header[key] = value;

		// // #ifdef H5 
		// const token = uni.getStorageSync("token");
		// const random = randomString(6);
		// // if(!token){
		// // 	return;
		// // }else{
		// 	let key = "Authorization";
		// 	// let value = randomString(6) + '#' + token + "";
		// 	let value = token;
		// 	header[key] = value;
		// 	// header["Randomkey"] = randomString(6) + new Date().getTime() + '/' + randomString(3);
		// 	// randomString(6) + '#' + value + '#' + randomString(6) + new Date().getTime() + '/' + randomString(3);

		// // }
		// //#endif

		// // #ifdef MP-WEIXIN
		// const token = uni.getStorageSync("token");
		// // if(!token){
		// // 	uni.clearStorageSync()
		// // 	uni.reLaunch({ 
		// // 		url: '/pages/login/login'
		// // 	});
		// // 	return;
		// // }else{
		// 	let key = "Authorization";
		// 	let value = token;
		// 	header[key] = value
		// // }
		// //#endif

		uni.request({
			url: BASE_URL + url,
			data: params || {},
			method: "POST",
			timeout: 10000,
			header: header,
			success: ({
				data,
				statusCode
			}) => {
				// console.log('data', data)
				// console.log('statusCode', statusCode)
				if (data.code == 200) {
					resolve(data);
				} else if (data.code == 401) {
					// 获取当前页⾯路由
					var pages = getCurrentPages();
					let currentRoute = pages[pages.length - 1].route;
					if (currentRoute != "pages/login/login") {
						uni.showToast({
							title: data.message,
							icon: 'none',
							mask: true,
							duration: 1000
						})
						setTimeout(function() {
							LogoutApi().then(res => {
								uni.removeStorageSync("isLogin");
								uni.removeStorageSync("token");
								uni.navigateTo({
									url: '/pages/login/login'
								})
							})
						}, 1000)
					}
				} else {
					uni.showToast({
						title: data.message,
						icon: 'none',
						mask: true,
						duration: 3000
					})
				}
				// reject(data.message);
			},
			fail: (error) => {
				console.log('error', error)
				uni.getNetworkType({
					complete: e => {
						let networkType = e.networkType || 'none';
						if (networkType == "none") {
							plus.nativeUI.toast("当前无网络，请检查您的网络链接");
						}
					}
				});
				reject(error);
			}
		});
	});
}

export default request;